Automatically Executing Responsive Actions Upon Detecting an Incomplete Account Lineage Chain

ABSTRACT

Aspects of the disclosure relate to account lineage tracking and automatically executing responsive actions upon detecting an incomplete lineage chain. A computing platform may receive an account-change message from a database-level interceptor. The account-change message may include information identifying a first target account as a database-level source account and identifying a second target account associated with one or more target databases. The first target account may be associated with a target application configured to access the target database. After receiving the account-change message, the computing platform may determine, based on a failure to detect a source account associated with the first target account, that an account lineage chain associated with the account-change message is incomplete. In response to determining that the account lineage chain is incomplete, the computing platform may generate and send one or more commands to limit access of the first target account to the target database.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. Ser. No. 16/737,542 filed onFeb. 2, 2020, which application is incorporated by reference herein inits entirety.

BACKGROUND

Aspects of the disclosure relate to deploying digital data processingsystems, providing information security, and preventing unauthorizedaccess to resources of an information system. In particular, one or moreaspects of the disclosure relate to controlling access to secureinformation resources using account lineage tracking and verificationsystems and providing account lineage profiles.

Enterprise organizations may utilize various computing infrastructure tomaintain large data sets, which may include confidential informationand/or other sensitive data that is created and/or used for variouspurposes. In some instances, these large data sets may need to beaccessed by and/or transferred across various networks and/or betweenvarious computer systems. Ensuring security when accessing and/ortransferring such data may be critically important to protect theintegrity and confidentiality of the underlying information. In manyinstances, however, it may be difficult to ensure the integrity andconfidentiality of the information associated with the data sets whilealso attempting to optimize the resource utilization, bandwidthutilization, and efficient operations of the computing infrastructureinvolved in maintaining, accessing, and transferring the data.

SUMMARY

Aspects of the disclosure provide effective, efficient, scalable, andconvenient technical solutions that address and overcome the technicalproblems associated with ensuring information security and preventingunauthorized access to resources of enterprise computer systems bycontrolling access to secure information resources using account lineagetracking and verification systems and providing account lineageprofiles.

In accordance with one or more embodiments, a computing platform havingat least one processor, a communication interface, and memory mayreceive, via the communication interface, from a source-levelinterceptor of a first computing device, a first account-change message.The first account-change message may include information identifying asource account associated with the first computing device andidentifying a first target account associated with a target applicationconfigured to access a target database. The computing platform mayreceive, via the communication interface, from a database-levelinterceptor associated with the target database, a second account-changemessage. The second account-change message may include informationidentifying the first target account as a database-level source accountand identifying a second target account associated with one or moretarget databases. Subsequently, the computing platform may generate,based on the first account-change message and the second account-changemessage, a notification including information associated with an accountlineage between the source account and the second target account. Thecomputing platform may send, via the communication interface, to anadministrator user computing device associated with the target database,the notification including the information associated with the accountlineage between the source account and the second target account.

In some embodiments, the computing platform may determine a firsttimestamp included in the first account-change message and a secondtimestamp included in the second account-change message. The firsttimestamp may indicate a time of accessing the first target account bythe source account, and the second timestamp may indicate a time ofaccessing the target database by the first target account. In someembodiments, the computing platform may determine, based on a comparisonof the first timestamp and the second timestamp, a first account lineagesegment between the source account and the first target account.

In some embodiments, the computing platform may determine a thirdtimestamp included in the second account-change message. The thirdtimestamp may indicate a time of requesting an account change from thefirst target account to the second target account. In some embodiments,the computing platform may determine, based on a comparison of thesecond timestamp and the third timestamp, a second account lineagesegment between the first target account and the second target account.The information associated with the account lineage between the sourceaccount and the second target account may include information of thefirst account lineage segment and information of the second accountlineage segment.

In some embodiments, the first account-change message may include deviceinformation of the first computing device, one or more commandsassociated with the source account, and one or more timestamps, and thesecond account-change message may include database information of thetarget database, one or more commands associated with the targetdatabase, and one or more timestamps.

In some embodiments, the computing platform may determine, based on thefirst account-change message, that the source account is an originatingaccount. In some embodiments, the notification may include informationindicating that the source account is an originating account. In someembodiments, the computing platform may cause, based on the sourceaccount being an originating account, a grant of an account-change fromthe first target account to the second target account.

In some embodiments, the computing platform may determine, based on thefirst account-change message, that the source account is associated witha second source account. The second source account may be associatedwith a second computing device. In some embodiments, the computingplatform may receive, via the communication interface, from a secondsource-level interceptor of the second computing device, a thirdaccount-change message including information identifying the secondsource account and identifying the source account associated with thefirst computing device. In some embodiments, the computing platform maygenerate, based on the first account-change message, the secondaccount-change message, and the third account-change message,information associated with an account lineage between the second sourceaccount and the second target account. The notification may include theinformation associated with the account lineage between the secondsource account and the second target account.

In some embodiments, the computing platform may determine, based on thethird account-change message, that the second source account is anoriginating account. In some embodiments, the computing platform maycause, based on determining that the source account is not anoriginating account, a denial of an account-change from the first targetaccount to the second target account. In some embodiments, the secondtarget account may have one or more rights associated with the targetdatabase that are unavailable to the first target account.

In some embodiments, the computing platform may receive, via thecommunication interface, from the database-level interceptor, a thirdaccount-change message including information identifying the firsttarget account as a database-level source account and a third targetaccount associated with a second target database. In some embodiments,the computing platform may generate, based on the first account-changemessage and the third account-change message, a notification includinginformation associated with an account lineage between the sourceaccount and the third target account. In some embodiments, thenotification may include the information associated with the accountlineage between the source account and the third target account.

In some embodiments, the computing platform may receive, via thecommunication interface, from a second source-level interceptor of asecond computing device, a third account-change message includinginformation identifying a second source account associated with thesecond computing device and identifying the first target account. Insome embodiments, the computing platform may determine, based on thefirst account-change message, a first account lineage segment betweenthe source account and the first target account, determine, based on thesecond account-change message, a second account lineage segment betweenthe first target account and the second target account, and determine,based on the third account-change message, a third account lineagesegment between the second source account and the first target account.In some embodiments, the computing platform may generate an accountlineage profile by linking the second account lineage segment to one ormore of: the first account lineage segment; or the third account lineagesegment.

In some embodiments, the computing platform may receive, via thecommunication interface, from a second source-level interceptor of asecond computing device, a third account-change message includinginformation identifying a second source account associated with thesecond computing device and identifying the first target account. Insome embodiments, the computing platform may generate, based on thefirst account-change message, the second account-change message, and thethird account-change message, a notification indicating a suspiciousaccount-lineage chain among the first target account, the sourceaccount, and the second source account.

In some embodiments, the computing platform may determine, based on thefirst account-change message, device information of the first computingdevice. The device information of the first computing device mayindicate a network identifier associated with the first computingdevice. In some embodiments, the computing platform may determine, basedon the second account-change message, the network identifier associatedwith the first computing device and verify, based on the deviceinformation and the network identifier, that the second account-changemessage is associated with the first account-change message.

In some embodiments, the computing platform may receive, via thecommunication interface, from a second source-level interceptor of asecond computing device, a third account-change message includinginformation identifying a second source account associated with thesecond computing device and identifying the source account associatedwith the first computing device. In some embodiments, the computingplatform may cause, based on the second account-change message and thethird account-change message, the first computing device to install thesource-level interceptor of the first computing device. The firstaccount-change message may be received after installing the source-levelinterceptor of the first computing device. The one or more targetdatabases may include one or more of: the target database; or a secondtarget database.

In accordance with one or more embodiments, a computing platform havingat least one processor, a communication interface, and memory mayreceive, via the communication interface, from a database-levelinterceptor associated with a target database, a first account-changemessage. The first account-change message may include informationidentifying a first target account as a database-level source accountand identifying a second target account associated with one or moretarget databases. The first target account may be associated with atarget application configured to access the target database. Thecomputing platform may determine, based on a failure to detect a sourceaccount associated with the first target account, an account lineagechain associated with the first account-change message is incomplete.Subsequently, the computing platform may generate, based on thedetermining, one or more commands directing a database computingplatform associated with the target database to limit access of thefirst target account to the target database. The computing platform maysend, via the communication interface, to the database computingplatform associated with the target database, the one or more commandsdirecting the database computing platform associated with the targetdatabase to limit access of the first target account to the targetdatabase.

In some embodiments, the computing platform may determine a firsttimestamp included in the first account-change message. The firsttimestamp may indicate a time of requesting an account change from thefirst target account to the second target account. The computingplatform may determine a second timestamp indicating a time of accessingthe target database by the first target account and track, based on acomparison of the first timestamp and the second timestamp, the sourceaccount associated with the first target account.

In some embodiments, tracking the source account associated with thefirst target account may include identifying a network identifierassociated with the source account, causing a first computing deviceassociated with the network identifier to install a source-levelinterceptor, and identifying, based on a communication from theinstalled source-level interceptor, the source account. In someembodiments, the computing platform may identify a first computingdevice accessing the first target account, cause the first computingdevice to install a source-level interceptor, and receive, via thecommunication interface, from the source-level interceptor, a secondaccount-change message. The second account-change message may includeinformation identifying the source account and identifying the firsttarget account. The second account-change message may include deviceinformation of the first computing device, one or more commandsassociated with the source account, and one or more timestamps. Thefirst account-change message may include database information of thetarget database, one or more commands associated with the targetdatabase, and one or more timestamps. In some embodiments, the computingplatform may generate, based on the first account-change message and thesecond account-change message, a notification including informationassociated with an account lineage between the source account and thesecond target account. The computing platform may send, via thecommunication interface, to an administrator user computing device, thenotification including the information associated with the accountlineage between the source account and the second target account.

In some embodiments, the computing platform may determine, based on thesecond account-change message, that the source account is not anoriginating account and is associated with a second source account of asecond computing device, and cause the second computing device toinstall a second source-level interceptor. In some embodiments, thecomputing platform may receive, via the communication interface, fromthe second source-level interceptor, a third account-change message. Thethird account-change message may include information identifying thesecond source account and identifying the source account. The computingplatform may determine, based on the third account-change message, thatthe second source account is an originating account, and generate, basedon determining that the second source account is an originating account,information indicating a complete account lineage between the secondsource account and the second target account. In some embodiments, theinformation indicating the complete account lineage between the secondsource account and the second target account may indicate a firstaccount lineage segment between the second source account and the sourceaccount, a second account lineage segment between the source account andthe first target account, and a third account lineage segment betweenthe first target account and the second target account.

In some embodiments, the computing platform may cause, based on anincomplete account lineage chain associated with the firstaccount-change message, a denial of an account-change from the firsttarget account to the second target account. In some embodiments, thesecond target account may have one or more rights associated with thetarget database that are unavailable to the first target account.

In some embodiments, the source account may be associated with a firstcomputing device. The computing platform may receive, via thecommunication interface, from a source-level interceptor associated witha second computing device, a second account-change message. The secondaccount-change message may include information identifying a secondsource account associated with the second computing device andidentifying the source account associated with the first computingdevice. The computing platform may determine, based on the firstaccount-change message and the second account-change message, that anaccount lineage chain is incomplete at the first computing device. Insome embodiments, the computing platform may cause, based on determiningthat the account lineage chain is incomplete at the first computingdevice, the first computing device to install a second source-levelinterceptor. In some embodiments, the computing platform may generate,based on determining that the account lineage chain is incomplete at thefirst computing device, information indicating an incomplete accountlineage between the source account and the first target account. In someembodiments, the computing platform may send, via the communicationinterface, to the administrator user computing device, a notificationincluding the information indicating the incomplete account lineagebetween the source account and the first target account.

These features, along with many others, are discussed in greater detailbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example and not limitedin the accompanying figures in which like reference numerals indicatesimilar elements and in which:

FIGS. 1A-1C depict one or more illustrative computing environments forcontrolling access to secure information resources using account lineagetracking and verification systems in accordance with one or more exampleembodiments;

FIGS. 2A-2D depict an illustrative event sequence and account lineagedata for controlling access to secure information resources usingaccount lineage tracking and verification in accordance with one or moreexample embodiments;

FIGS. 3A-3C depict an illustrative event sequence and notification forcontrolling access to secure information resources using account lineagetracking and verification involving a plurality of source-levelcomputing devices in accordance with one or more example embodiments;

FIGS. 4A-4D depict another illustrative event sequence and accountlineage data for controlling access to secure information resourcesusing account lineage tracking and verification in accordance with oneor more example embodiments;

FIG. 5 depicts another illustrative event sequence for controllingaccess to secure information resources using account lineage trackingand verification in accordance with one or more example embodiments;

FIGS. 6A-6B depict another illustrative event sequence for controllingaccess to secure information resources using account lineage trackingand verification in accordance with one or more example embodiments;

FIGS. 7A-7D depict an illustrative information flow associated with oneor more account lineage profiles in accordance with one or more exampleembodiments;

FIGS. 8A-8B depict another illustrative information flow associated withone or more account lineage profiles in accordance with one or moreexample embodiments; and

FIG. 9 depicts one or more illustrative example modules for controllingaccess to secure information resources using an account lineage trackingsystem in accordance with one or more example embodiments.

DETAILED DESCRIPTION

In the following description of various illustrative embodiments,reference is made to the accompanying drawings, which form a parthereof, and in which is shown, by way of illustration, variousembodiments in which aspects of the disclosure may be practiced. It isto be understood that other embodiments may be utilized, and structuraland functional modifications may be made, without departing from thescope of the present disclosure.

It is noted that various connections between elements are discussed inthe following description. It is noted that these connections aregeneral and, unless specified otherwise, may be direct or indirect,wired or wireless, and that the specification is not intended to belimiting in this respect.

FIGS. 1A-1C depict one or more illustrative computing environments forcontrolling access to secure information resources using account lineagetracking and verification systems in accordance with one or more exampleembodiments. Referring to FIG. 1A, computing environment 100 may includeone or more computer systems. For example, computing environment 100 mayinclude an account lineage tracking computing platform 110, adistributed database computing platform 120, an administrator computingdevice 130, user computing device 1 (UCD1) 140, user computing device 2(UCD2) 150 including a source-level interceptor 151, user computingdevice 3 (UCD3) 160, intermediate computing device 1 (ICD1) 170including a source-level interceptor 171, user computing device 4 (UCD4)180 including a source-level interceptor 181, and intermediate computingdevice 2 (ICD2) 190. Although not illustrated, one or more additionalcomputing platforms and/or one or more computing devices may communicatewith the computing environment 100.

Intermediate computing devices 170, 190 may include various computingdevices via which one or more other computing devices may accessdistributed database computing platform 120. For example, intermediatecomputing devices 170, 190 may include virtualization servers, hostservers, proxy servers, cloud servers, remote access computers, or thelike. In some instances, the intermediate computing devices 170, 190 mayinclude one or more user computing devices accessed by another usercomputing device.

As illustrated in greater detail below, account lineage trackingcomputing platform 110 may include one or more computing devicesconfigured to perform one or more of the functions described herein. Forexample, account lineage tracking computing platform 110 may include oneor more computers (e.g., laptop computers, desktop computers, servers,server blades, or the like). In some instances, one or more functionsand/or operations performed by account lineage tracking computingplatform 110 may be initiated on, triggered on, and/or otherwise causedto be executed on other computing device(s)/platform(s).

Account lineage tracking computing platform 110 may include one or morecomputing devices and/or other computer components (e.g., processors,memories, communication interfaces). In addition, account lineagetracking computing platform 110 may host and/or execute one or moreaccount lineage tracking applications, provide one or moredatabase-level interceptors to one or more databases in distributeddatabase computing platform 120 and one or more source-levelinterceptors to users of one or more computing devices, and/or generateone or more account lineage profiles associated with distributeddatabase computing platform 120 and/or the one or more computingdevices. In one or more arrangements, account lineage tracking computingplatform 110 may be associated with an enterprise organization, such asa financial institution, and account lineage tracking computing platform110 may be connected to other servers and/or enterprise computinginfrastructure that is configured to provide various enterprise and/orback-office computing functions for the enterprise organization. Forexample, this enterprise computing infrastructure may include variousservers and/or databases that store and/or otherwise maintain accountinformation, such as financial account information including accountbalances, transaction history, account owner information, and/or otherinformation. In addition, this enterprise computing infrastructure mayprocess and/or otherwise execute transactions on specific accounts basedon commands and/or other information received from other computersystems included in computing environment 100.

Distributed database computing platform 120 may include one or moredatabases. The one or more databases may include one or more computingdevices and/or other computer components (e.g., processors, memories,communication interfaces). In addition, and as illustrated in greaterdetail below, distributed database computing platform 120 may beconfigured to store and/or otherwise maintain enterprise data and/orother data, including data that may be used by and/or support one ormore transaction processing programs, loan application processingprograms, and/or other programs associated with an enterpriseorganization, such as a financial institution. For example, distributeddatabase computing platform 120 may include various servers and/ordatabases that store and/or otherwise maintain account information, suchas financial account information including account balances, transactionhistory, account owner information, and/or other information. Inaddition, distributed database computing platform 120 may process and/orotherwise execute transactions on specific accounts based on commandsand/or other information received from other computer systems includedin computing environment 100.

Administrator computing device 130 may be a personal computing device(e.g., desktop computer, laptop computer) or mobile computing device(e.g., smartphone, tablet). In addition, administrator computing device130 may be linked to and/or used by an administrative user (who may,e.g., be an information technology systems administrator of anenterprise organization operating account lineage tracking computingplatform 110). For instance, administrator computing device 130 may belinked to and/or used by an administrative user who may useadministrator computing device 130 to define one or more policies and/orrules for computing devices and/or databases in an operating environment(which may, e.g., include policies and/or rules governing the access ofsecured data in one or more databases, changes of access rights andprivileges, and/or changes of user accounts). For example, administratorcomputing device 130 may be used by an administrative user to define oneor more criteria for identifying sensitive data that should not beaccessed by an unverified source's user account.

User computing devices (e.g., UCD1 140, UCD2 150, UCD3 160, UCD4 180,etc.) may include one or more computing devices and/or other computercomponents (e.g., processors, memories, communication interfaces). Usercomputing devices may be personal computing devices (e.g., desktopcomputer, laptop computer) or mobile computing devices (e.g.,smartphone, tablet). In addition, a user computing device (e.g., UCD2150, UCD4 180, etc.) including a source-level interceptor (e.g.,source-level interceptor 151, source-level interceptor 181, etc.) may belinked to and/or used by one or more specific users (e.g., a customer, auser, or an employee, who may, e.g., be associated with an enterpriseorganization, such as a financial institution, operating account lineagetracking computing platform 110 and/or one or more other systems and/ordevices in computing environment 100).

Like user computing devices, intermediate computing devices (e.g., ICD1170, ICD2 190, etc.) may include one or more computing devices and/orother computer components (e.g., processors, memories, communicationinterfaces). In addition, intermediate computing devices (e.g., ICD1170) may be linked to and/or used by one or more specific users (e.g., acustomer, a user, or an employee, who may, e.g., be associated with anenterprise organization, such as a financial institution, operatingaccount lineage tracking computing platform 110 and/or one or more othersystems and/or devices in computing environment 100).

Computing environment 100 also may include one or more networks, whichmay interconnect one or more of account lineage tracking computingplatform 110, distributed database computing platform 120, administratorcomputing device 130, user computing devices (e.g., UCD1 140, UCD2 150,UCD3 160, and UCD4 180), and intermediate computing devices (e.g., ICD1170 and ICD2 190). For example, computing environment 100 may include anetwork 170, which may, for instance, include one or more privatenetworks, public networks, sub-networks, and/or the like, and which mayinterconnect one or more of account lineage tracking computing platform110, distributed database computing platform 120, administratorcomputing device 130, user computing devices (e.g., UCD1 140, UCD2 150,UCD3 160, and UCD4 180), and intermediate computing devices (e.g., ICD1170 and ICD2 190).

In one or more arrangements, account lineage tracking computing platform110, distributed database computing platform 120, administratorcomputing device 130, user computing devices (e.g., UCD1 140, UCD2 150,UCD3 160, and UCD4 180), intermediate computing devices (e.g., ICD1 170and ICD2 190), and/or the other systems included in computingenvironment 100 may be any type of computing device capable of receivinga user interface, receiving input via the user interface, andcommunicating the received input to one or more other computing devices.For example, account lineage tracking computing platform 110,distributed database computing platform 120, administrator computingdevice 130, user computing devices (e.g., UCD1 140, UCD2 150, UCD3 160,and UCD4 180), intermediate computing devices (e.g., ICD1 170 and ICD2190), and/or the other systems included in computing environment 100may, in some instances, be and/or include server computers, desktopcomputers, laptop computers, tablet computers, smart phones, or the likethat may include one or more processors, memories, communicationinterfaces, storage devices, and/or other components. As noted above,and as illustrated in greater detail below, any and/or all of accountlineage tracking computing platform 110, distributed database computingplatform 120, administrator computing device 130, user computing devices(e.g., UCD1 140, UCD2 150, UCD3 160, and UCD4 180), and intermediatecomputing devices (e.g., ICD1 170 and ICD2 190) may, in some instances,be special-purpose computing devices configured to perform specificfunctions.

Referring to FIG. 1B, account lineage tracking computing platform 110may include one or more processors 111, memory 112, and communicationinterface 113. A data bus may interconnect processor 111, memory 112,and communication interface 113. Communication interface 113 may be anetwork interface configured to support communication between accountlineage tracking computing platform 110 and one or more networks (e.g.,network 170). Memory 112 may include one or more program modules havinginstructions that when executed by processor 111 cause account lineagetracking computing platform 110 to perform one or more functionsdescribed herein and/or one or more databases that may store and/orotherwise maintain information which may be used by such program modulesand/or processor 111. In some instances, the one or more program modulesand/or databases may be stored by and/or maintained in different memoryunits of account lineage tracking computing platform 110 and/or bydifferent computing devices that may form and/or otherwise make upaccount lineage tracking computing platform 110. For example, memory 112may have, store, and/or include an account lineage track module 112 a,an account lineage verification module 112 b, an account data alertingengine 112 c, and a source-level interceptor management module 112 d.Account lineage track module 112 a may have instructions that directand/or cause account lineage tracking computing platform 110 to identifyone or more account-change instances, to link one or more account-changeinstances, and to determine an account lineage chain, as discussed ingreater detail below. Account lineage verification module 112 b mayverify one or more account-change instances, one or more accountsassociated with the one or more account-change instances, and verifyeach linkage of the determined account lineage chain. Account dataalerting engine 112 c may generate one or more notifications and/oralerts for reporting, as discussed in greater detail below. Source-levelinterceptor management module 112 d may manage downloading andinstallation of one or more types of source-level interceptors, asdiscussed in greater detail below.

Referring to FIG. 1C, administrator computing device 130 may include oneor more processors 131, memory 132, and communication interface 133. Adata bus may interconnect processor 131, memory 132, and communicationinterface 133. Communication interface 133 may be a network interfaceconfigured to support communication between administrator computingdevice 130 and one or more networks (e.g., network 170). Memory 132 mayinclude one or more program modules having instructions that whenexecuted by processor 131 cause administrator computing device 130 toperform one or more functions described herein and/or one or moredatabases that may store and/or otherwise maintain information which maybe used by such program modules and/or processor 131. In some instances,the one or more program modules and/or databases may be stored by and/ormaintained in different memory units of administrator computing device130 and/or by different computing devices that may form and/or otherwisemake up administrator computing device 130. For example, memory 132 mayhave, store, and/or include an authentication module 132 a, an accountlineage report processing module 132 b, and a data access control engine112 c. Authentication module 132 a may have instructions that directand/or cause administrator computing device 130 to authenticate one ormore user computing devices and/or intermediate computing devices and togrant installation of a source-level interceptor. Account lineage reportprocessing module 132 b may receive one or more reports (e.g.,notifications, alerts, etc.) from account lineage tracking computingplatform 110, processes information included in the reports, and updateone or more databases (e.g., an account lineage profile database), asdiscussed in greater detail below. Database access control engine 132 cmay have instructions that direct and/or cause administrator computingdevice 130 to control access to secure information resources usingaccount lineage data and one or more entitled rights for variousdifferent accounts, as discussed in greater detail below.

FIGS. 2A-2D depict an illustrative event sequence and account lineagedata for controlling access to secure information resources usingaccount lineage tracking and verification in accordance with one or moreexample embodiments. Referring to FIG. 2A, at step 201, administratorcomputing device 130 may perform an authentication process (e.g., shownin FIG. 2B) with UCD1 140. For example, at step 201, administratorcomputing device 130 may receive, via a communication interface (e.g.,communication interface 133), from UCD1 140, a first data access requestto access data of one or more target databases (e.g., secured datastored in distributed database computing platform 120). The access tothe data of the one or more target databases may require a verificationof a complete account lineage chain, which will be discussed below inmore detail. After the authentication process, a source-levelinterceptor (or a source-level sniffer) may be installed to UCD1 140 toenable the verification of the complete account lineage chain.

At step 202, account lineage tracking platform 110 may receive, fromadministrator computing device 130, authorization to install asource-level interceptor to UCD1 140. For example, at step 202, based ona successful authentication of UCD1 140 (e.g., by administratorcomputing device 130), administrator computing device 130 may authorizeaccount lineage tracking platform 110 to install the source-levelinterceptor to UCD1 140. The source-level interceptor may be installedto other computing devices (e.g., UCD3 160, ICD2 190, etc.) in a similarmanner.

In some embodiments, administrator computing device 130 may directlyinstall a source-level interceptor to UCD1 140 after a successfulauthentication process. For example, administrator computing device 130may authenticate whether UCD1 140 is used by a preauthorized user (e.g.,one or more users preauthorized by a financial institution) to accessthe secured data of the one or more target databases.

In some embodiments, administrator computing device 130 or accountlineage tracking platform 110 may install a source-level interceptor toUCD1 140 without performing step 201. For example, account lineagetracking platform 110 may install a source-level interceptor to UCD1 140after receiving the first data access request from UCD1 140. Thesource-level interceptor installed to UCD1 140 may be a public versionof an interceptor application that can be installed to any non-privatecomputing devices (e.g., one or more computers used by a plurality ofusers). The public version may be temporarily installed to UCD1 140 andmay be automatically uninstalled or deleted (e.g., after a session isterminated).

At step 203, UCD1 140 may download and install the source-levelinterceptor. For example, account lineage tracking platform 110 may senda code, a program, and/or software to run the source-level interceptoron UCD1 140. The source-level interceptor may be downloaded andinstalled on any other computing devices that do not have thesource-level interceptor, have a corrupted source-level interceptor, orhave an outdated source-level interceptor. The source-level interceptormay be installed as a standalone program, a component code, an embeddedcode, or any other codes.

The source-level interceptor may be installed on various user computingdevices. One or more computing devices (e.g., UCD2 150, ICD1 170, UCD4180) may include source-level interceptors (e.g., source-levelinterceptors 151, 171, and 181) installed according to one or moreprocesses described above or similar to the processes described above.In some embodiments, the source-level interceptors may be a genericprogram that can be installed to a plurality of computing devices.

In some embodiments, each source-level interceptor may be configured tobe a user-specific source-level interceptor. For instance, source-levelinterceptor 151 may be configured to be used only by UCD2 150.Source-level interceptor 151 may authenticate one or more user accountsaccessing UCD2 150. Source-level interceptor 171 of ICD1 170 may beconfigured to be used by one or more computing devices accessingdistributed database computing platform 120 via ICD1 170.

In some embodiments, intermediate computing devices (e.g., ICD1 170,ICD2 190) may be one or more of: virtualization servers; host servers;proxy servers; cloud servers; or remote access computers. For example,ICD1 170 or ICD2 190 may be accessed by a plurality of preauthorizedusers or unauthorized users via other user computing devices (e.g., UCD3160).

In some embodiments, intermediate computing devices (e.g., ICD1 170) maybe a user computing device accessed by UCD3 160. For example, a hackermay illegitimately access ICD1 170 using UCD2 160 to impersonate a userof ICD1 170 to access distributed database computing platform 120 usinga user account associated with ICD1 170. In another example, anauthenticated user of ICD1 170 may legitimately access ICD1 170 usingUCD3 160, which may be another user computing device accessed by theauthenticated user.

Referring to FIG. 2B, administrator computing device 130 may perform theauthentication process with UCD1 140. For example, steps 251, 252, 253,254, and 255 may be example operations performed during theauthentication process illustrated in FIG. 2A (e.g., step 201 shown inFIG. 2A). One or more steps illustrated in FIG. 2B may be omitted or oneor more steps may be added in performing the authentication process.

At step 251, administrator computing device 130 may receive, from a usercomputing device (e.g., UCD1 140), authentication data. For example,administrator computing device 130 may receive authentication data of auser, such as credentials, ID and password, etc. For instance, theauthentication data may be registered to administrator computing device130 based on a creation of a new user account.

At step 252, administrator computing device 130 may verify theauthentication data. For example, administrator computing device 130 mayverify whether the received authentication data is valid (e.g., notexpired). Administrator computing device 130 may verify theauthentication data, for instance, by identifying that theauthentication data is received from a preauthorized user computingdevice (e.g., UCD2 150) or an unauthorized user computing device (e.g.,UCD1 140). Administrator computing device 130 may verify theauthentication data, for instance, by determining whether UCD1 140 hasfailed the authentication process for more than a number of times (e.g.,3 times, 5 times, etc.).

At step 253, administrator computing device 130 may send a secondaryauthentication request. For example, administrator computing device 130may send the secondary authentication request if the authentication datais received from an unauthorized user computing device (e.g., UCD1 140)and/or if UCD1 140 has failed the authentication process for more than anumber of times. The secondary authentication request may include arequest for temporary identification information. For example, thesecondary authentication request may request temporary identificationdata (e.g., a temporary PIN number) that was sent to an authorizeduser's account (e.g., an email account, an application account, a textmessage to a phone number, etc.).

At step 254, administrator computing device 130 may receive secondaryauthentication data in response to the secondary authentication request.For example, a user of UCD1 140 may input the temporary identificationdata via a user interface (e.g., a keyboard, a keypad, etc.) of UCD1140, and administrator computing device 130 may receive, from UCD1 140,the temporary identification data via a communication interface (e.g.,communication interface 133).

At step 255, administrator computing device 130 may indicate, to UCD1140, an authentication result and installation of a source-levelinterceptor. For example, administrator computing device 130 may receivethe temporary identification data within a preset time period anddetermine that the secondary authentication data is successfullyauthenticated. Administrator computing device 130 may authorize theinstallation of the source-level interceptor on UCD1 140 based on thedetermination that the secondary authentication data is successfullyauthenticated.

Referring to FIG. 2C, after installing a source-level interceptor (e.g.,at step 203 of FIG. 2A), at step 204, a source-level interceptor of acomputing device (e.g., UCD1 140 after successfully installing thesource-level interceptor, UCD2 150, ICD 170, or UCD4 180) may monitorfor account-change instances. For example, the source-level interceptormay examine account usage by the computing device on which thesource-level interceptor is installed. The source-level interceptor maygather event data associated with the account usage. The event data mayinclude event data associated with an account change from a firstaccount to a second account and/or one or more commands issued to changean account or to change execution context.

In some embodiments, the account change or the change of executioncontext may include an identity switching at an operating system levelor a network-layer. For example, one or more users may change or switchaccounts in UCD2 150 or may execute as another account in UCD2 150. Forinstance, at a first time, a user of UCD2 150 may initiate a firstoperating system installed on UCD2 150 and may login into the firstoperating system using a first user account of the first operatingsystem. At a second time, a user of UCD2 150 may initiate a secondoperating system installed on UCD2 150 and may login into the secondoperating system using a second user account of the second operatingsystem. A user of UCD2 150 may access the second operating system, viaan interface (e.g., a virtual interface), while executing the firstoperating system. A user may access one or more applications by usingone or more application accounts. The user identity may be changed orswitched by using the one or more application accounts. A user may issueone or more commands, such as “execute as” commands, to switch theexecution context or to switch the account to another account. Thesource-level interceptor 151 may monitor for such changes, switches,and/or any context switching of accounts used in UCD2 150.

A database user account may be an account used in one or more databases(e.g., databases of distributed database computing platform 120). Forexample, a first target database of distributed database computingplatform 120 may include a database administrator account (e.g., a superuser account of the first target database) and a general database useraccount (e.g., a database account with limited rights issued to aspecific database user of the first target database). A source useraccount may be a user account tracked by one or more source-levelinterceptors in one or more computing devices. For example, a sourceuser account may be any user account used externally from theperspective of distributed database computing platform 120.

At step 205, the source-level interceptor (e.g., source-levelinterceptor 151, source-level interceptor 171, source-level interceptor181, etc.) may detect one or more source user account events associatedwith the computing device (e.g., UCD2 150). For example, source-levelinterceptor 151 may detect the first user account of the first operatingsystem being accessed at the first time, and the second user account ofthe second operating system being accessed at the second time.Source-level interceptor 151 may detect one or more application accountsbeing accessed, at UCD2 150, at different times. Source-levelinterceptor 151 may detect one or more account switching context eventsassociated with one or more commands issued to switch the executioncontext or to switch the account. Each of an account access event, anaccount change event, an account switch event, or context switchingevent may constitute an account-change instance.

The source-level interceptor may generate one or more timestampsassociated with the detected events. For example, source-levelinterceptor 151 may generate a first timestamp corresponding to thefirst time for the access of the first user account of the firstoperating system, and generate a second timestamp corresponding to thesecond time for the access, or the account switch to, the second useraccount of the second operating system. Source-level interceptor 151 maygenerate a timestamp corresponding to a time when an application accountis accessed. Source-level interceptor 151 may generate a timestampcorresponding to a time when a command is issued to switch the executioncontext or to switch the account.

The source-level interceptor may detect device information associatedwith a computing device in which the source-level interceptor isinstalled. For example, source-level interceptor 151 may detect deviceinformation, such as one or more device identifiers of UCD2 150 (e.g.,registered account(s) of UCD2 150, installed operating system(s), serialnumber(s) of UCD2 150 or component(s) of UCD2 150, MAC address(es) ofnetwork device(s) of UCD2 150, IP address(es) used by UCD2 150 or otherwired/wireless communication interface identifiers, a domain name(s)associated with UCD2 150, gateway(s) associated with UCD2 150, etc.).

At step 206, the source-level interceptor may send an account-changemessage to account lineage tracking computing platform 110. For example,the account-change message may indicate one or more account-changeinstances. For instance, a first account-change instance may correspondto the access of the first user account of the first operating systemaccessed at the first time. A second account-change instance maycorrespond to the access of the second user account of the secondoperating system, via an interface of the first operating system, whileexecuting the first operating system. A third account-change instancemay correspond to the access of an application account by launching anapplication (or a web browser or another program or interface) whileusing the second user account of the second operating system. A fourthaccount-change instance may correspond to a context switching (e.g., anexecution context switching of a session based on one or more commands,such as “execute as” commands).

At step 207, account lineage tracking computing platform 110 maygenerate a source-level account change report. For example, accountlineage tracking computing platform 110 may generate a source-levelaccount change report based on one or more account-change messagesreceived from one or more source-level interceptors. As seen in FIG. 2D,for instance, the source-level account lineage report may includesource-level account lineage data 270 indicating one or more source useraccounts 271 (e.g., the first user account of the first operatingsystem, the second user account of the second operating system (as asource to a target application)), one or more target accounts 272 (e.g.,the second user account of the second operating system (as a target fromthe first user account), the one or more application accounts, one ormore target accounts switched based on one or more “executed as”commands), one or more timestamps 275 (e.g., the first timestamp, thesecond timestamp), the device information 274 (e.g., registeredaccount(s) of UCD2 150, installed operating system(s), serial number(s)of UCD2 150 or component(s) of UCD2 150, MAC address(es) of networkdevice(s) of UCD2 150, IP address(es) used by UCD2 150 or otherwired/wireless communication interface identifiers, a domain name(s)associated with UCD2 150, gateway(s) associated with UCD2 150, an hostplatform identification), and one or more command issued 273 (e.g., oneor more “executed as” commands).

The source-level account lineage report may also include informationindicating an account lineage chain from a source account to a targetaccount. For example, the source-level account lineage report mayinclude an account lineage from the first user account of the firstoperating system to a target application account of a targetapplication.

In some embodiments, the source-level account lineage report may includea plurality of account lineage segments. For example, the source-levelaccount lineage report may include a first account lineage segment froman originating account (e.g., the first user account of the firstoperating system) to a first intermediate account (e.g., the second useraccount of the second operating system), a second account lineagesegment from the first intermediate account (e.g., the second useraccount of the second operating system) to a second intermediate account(e.g., a third user account switched from the second user account), anda third account lineage segment from the second intermediate account(e.g., the third user account switched from the second user account) toa target account (e.g., a target application account to accessdistributed database computing platform 120). One or more intermediateaccounts may be added or omitted based on the number of account-changeinstances detected by a source-level interceptor.

At step 208, administrator computing device 130 may receive thesource-level account change report and analyze the account-changeinstances. For example, administrator computing device 130 may analyzethe source-level account change report based on previous account-changeinstances of the same user computing device or previous account-changeinstances of other computing devices. For instance, the source-levelaccount change report may include one or more account-change instancesthat are not previously recognized (or atypical) in view of the previousaccount-change instances, which may be categorized as suspiciousaccount-change instance(s).

FIGS. 3A-3C depict an illustrative event sequence and notification forcontrolling access to secure information resources using account lineagetracking and verification involving a plurality of source-levelcomputing devices in accordance with one or more example embodiments. Asdiscussed in greater detail below, the example event sequenceillustrated in FIGS. 3A-3B shows how an originating account of UCD3 160is tracked via one or more intermediate computing devices (e.g.,including ICD1 170). Intermediate computing device ICD1 170 may have asource-level interceptor 171, which may be installed based on one ormore processes similar to those illustrated in FIGS. 2A-2B. Source-levelinterceptor 171 may perform one or more processes similar to thosediscussed above with respect to the source-level interceptor installedon UCD 140. Source-level interceptor 171 may monitor for one or moreaccount-change instances associated with an external computing device,such as UCD3 160. For example, source-level interceptor 171 may trackbackward to UCD3 160 and determine that a source user account of UCD3160 attempts to access distributed database computing device platform120 via ICD1 170. For instance, source-level interceptor 171 mayidentify a first account-change instance from the source user account ofUCD3 160 to a source user account of ICD1 170 and may identify a secondaccount-change instance from the source user account of ICD1 170 to adatabase application account of ICD1 170 configured to accessdistributed database computing device platform 120.

FIGS. 3A-3B may be performed after installing source-level interceptor171 on UCD1 170. The installation of source-level interceptor 171 may beperformed by one or more processes similar to those illustrated in FIGS.2A-2B with respect to UCD1 140. Steps 301, 302, and 303 may be similarto steps 204, 205, and 206, respectively. At step 308, source-levelinterceptor 171 may additionally identify an external source useraccount of UCD3 160. One or more source user accounts of UCD3 160 may betraced as discussed below.

Referring to FIG. 3A, at step 301, source-level interceptor 171 of ICD1170 may monitor for one or more account-change instances. For example,source-level interceptor 171 may be installed on ICD1 170 based on oneor more processes similar to those illustrated in FIGS. 2A-2B.Source-level interceptor 171 may monitor for account-change instances inICD1 170 based on one or more processes similar to those illustrated inFIG. 2C (e.g., step 204).

In some embodiments, UCD3 160 may access ICD1 170 without an accessgrant by ICD1 170. For instance, UCD3 160 may illegitimately access ICD1170 and may attempt to impersonate one or more source user accountsassociated with ICD1 170.

At step 302, source-level interceptor 171 may detect one or more sourceuser accounts of ICD1 170 and an external source user account of UCD3160. For example, source-level interceptor 171 may detect one or moreaccounts in ICD1 170 and an account lineage chain of those detectedaccounts based on one or more processes similar to those illustrated inFIG. 2C (e.g., step 205). Source-level interceptor 171 may also detectuse of the external source user account of UCD3 160 that is linked toone or more of the detected accounts in ICD1 170. For instance, a firstremote access application account used by UCD3 160 may gain access toand control of ICD1 170 by receiving an access grant from a secondremote access application account used by ICD1 170. The first remoteaccess application account and the second remote access applicationaccount may be linked in the account lineage chain of the detectedaccounts in ICD1 170.

In some embodiments, source-level interceptor 171 may detect one or morenetwork identifiers of UCD3 160 (e.g., IP address(es) used by UCD3 160to communicate with ICD1 170, MAC address(es) of UCD3 160, etc.).However, source-level interceptor 171 might not detect one or moreaccount-change instances in UCD3 160, and source-level interceptor 171might not identify one or more source user accounts, of UCD3 160, thatcan be possibly linked to the first remoted access application account.

At step 303, source-level interceptor 171 may send, to account lineagetracking computing platform 110, a first account-change message. Forexample, the first account-change message may be sent based on one ormore processes similar to those illustrated in FIG. 2C (e.g., step 206).The first account-change message may include information indicatingsource-level account lineage data similar to source-level accountlineage data 270 illustrated in FIG. 2D.

The first account-change message may include information indicating theexternal source user account of UCD3 160 (e.g., the first remote accessapplication account) and information indicating an additional accountlineage element between the external source user account of UCD3 160 andone or more source user accounts (e.g., the second remote accessapplication account) of ICD1 170. The additional account lineage elementmay indicate the account-change from the external source user account ofUCD3 to the one or more source user accounts of ICD1 170.

At step 304, account lineage tracking computing platform 110 maydetermine that the external source user account of UCD3 160 is notverified. For example, account lineage tracking computing platform 110may analyze the received first account-change message and may identifythat the external source user account of UCD3 160 is linked to one ormore source user accounts of ICD1 170. Account lineage trackingcomputing platform 110 may determine that the external source useraccount is not verified by checking that a source-level interceptor isnot running on a computing device (UCD3 160) that is associated with theexternal source user account and that an account-change message fromUCD3 160 has not been received by account lineage tracking computingplatform 110.

At step 305, account lineage tracking computing platform 110 may performan authentication process with UCD3 160. For example, account lineagetracking computing platform 110 may perform the authentication processwith UCD3 160 based on one or more processes similar to thoseillustrated in FIGS. 2A and 2B (e.g., steps 201 and 251-255).

In some embodiments, account lineage tracking computing platform 110 mayidentify one or more network identifiers (e.g., IP address(es), MACaddress(es), domain name(s), etc.) of UCD3 160 from the firstaccount-change message. For the authentication process, account lineagetracking computing platform 110 may directly or indirectly communicatewith UCD3 160 based on the identified one or more network identifiers ofUCD3 160. For instance, account lineage tracking computing platform 110may directly communicate with UCD3 160 or indirectly communicate viaICD1 170.

In some embodiments, as seen in FIG. 3C, source-level interceptor 171 ofICD1 170 may display a notification 371 that indicates the externalsource user account of UCD3 160 is linked to one or more source useraccounts of ICD1 170. The notification may be displayed on a display ofICD1 170 and may also be sent to UCD3 160. For instance, source-levelinterceptor 171 of ICD1 170 may control the communication channel (e.g.,a remote access application associated with the second remote accessapplication account used by ICD1 170) between ICD1 170 and UCD3 160 tocommunicate with UCD3 160.

In some embodiments, the notification 371 may be displayed if ICD1 170attempts to access distributed database computing platform 120. Forexample, as will be illustrated in more detail below, account lineagetracking computing platform 110 may receive, from distributed databasecomputing platform 120, a database-level account-change messageindicating the access attempt from an application account (e.g., atarget database application account) of ICD1 170 to distributed databasecomputing platform 120. Source-level interceptor 171 of ICD1 170 maydetect possible security risk(s) associated with distributed databasecomputing platform 120 when a source user account of an unverifiedentity, such as UCD3 160, is linked to one or more source user accountsof ICD1 170.

At step 306, account lineage tracking computing platform 110 may causeUCD3 160 to download and install a source-level interceptor. Forexample, account lineage tracking computing platform 110 may cause UCD3160 to download and install a source-level interceptor based on one ormore processes similar to those illustrated in FIG. 2A (e.g., step 203).UCD3 160 may be instructed to install the source-level interceptor viaICD1 170 or via a direct communication with account lineage trackingcomputing platform 110. A duplicate (or a variation) of source-levelinterceptor 171 may be sent to UCD3 160 via ICD 170, for example, if thedownload is indirectly caused via source-level interceptor 171 of ICD1170.

In some embodiments, the authentication process of step 205 may beomitted. For example, account lineage tracking computing platform 110may require all external computing devices that are connected to (orlinked, via an account-change, with) ICD1 170 to install a source-levelinterceptor while ICD1 170 attempts to access distributed databasecomputing platform 120. For instance, the source-level interceptor maybe a public version (or a non-user specific version) that can beinstalled on any computing devices that are not authenticated through anauthentication process (e.g., the authentication process at step 305).

Referring to FIG. 3B, at step 307, the source-level interceptorinstalled on UCD3 160 may monitor for one or more account-changeinstances occurred in UCD3 160. For example, the source-levelinterceptor installed on UCD3 160 may monitor for one or moreaccount-change instances occurring in UCD3 160 based on one or moreprocesses similar to those illustrated in FIG. 2C (e.g., step 204).

In some embodiments, the source-level interceptor installed on UCD3 160may detect one or more past account-change instances that occurredbefore installation of the source-level interceptor on UCD3 160. Forinstance, the source-level interceptor installed on UCD3 160 may detectthat the first remote access application account used by UCD3 160attempted to access one or more source user accounts (e.g., the secondremote access application account used by ICD1 170).

In some embodiments, the source-level interceptor installed on UCD3 160might not detect one or more past account-change instances occurredbefore installation of the source-level interceptor on UCD3 160, forexample, if the one or more past account-change instances have beendisconnected, expired, and/or unlinked (e.g., UCD3 160 has logged offfrom the first remote access application account and its session hasbeen expired).

At step 308, the source-level interceptor installed on UCD3 160 maydetect one or more source user accounts of UCD3 160 and verify anoriginating account. For example, the source-level interceptor installedon UCD3 160 may detect one or more source user accounts of UCD3 160based on one or more processes similar to those illustrated in FIG. 2C(e.g., step 205). For instance, the source-level interceptor installedon UCD3 160 may detect all source user accounts of UCD3 160 based on theone or more detected account-change instances in UCD3 160.

The source-level interceptor installed on UCD3 160 may also detect oneor more external source user accounts associated with the one or moresource user accounts of UCD3 160. The one or more source user accounts(e.g., the first remote access application account used by UCD3 160) ofUCD3 160 may be linked, via an account-change, to a target externalaccount (e.g., the second remote access application account used by ICD1170).

An account lineage from an originating account (e.g., a source useraccount of UCD3 160) to a target account of distributed databasecomputing platform 120 may show an account lineage from the originatingaccount to a source user account of ICD1 170, from the source useraccount of ICD1 170 to a database access application account of ICD1170, and from the database access application account of ICD1 170 to thetarget account of distributed database computing platform 120. As shownin FIG. 1A, since the source user account of UCD3 160 is linked to thesource user account of ICD1 170 to gain access to distributed databasecomputing platform 120, the source user account of ICD1 170 is a targetaccount from the perspective of the source user account of UCD3 160, andthe source user account of UCD3 160 is a source account from theperspective of the source user account of ICD1 170. Likewise, since thefirst remote access application account used by UCD3 160 may be linkedto the second remote access application account used by ICD1 170 to gainaccess to distributed database computing platform 120, the second remoteaccess application account used by ICD1 170 is a target account from theperspective of the first remote access application account used by UCD3160, and the first remote access application account used by UCD3 160 isa source account from the perspective of the second remote accessapplication account used by ICD1 170.

At step 309, the source-level interceptor of UCD3 160 may send, toaccount lineage tracking computing platform 110, a second account-changemessage. For example, the second account-change message may be sentbased on one or more processes similar to those illustrated in FIG. 2C(e.g., step 206) or FIG. 3A (e.g., step 303). The second account-changemessage may include information indicating source-level account lineagedata similar to source-level account lineage data 270 illustrated inFIG. 2D.

In some embodiments, account lineage tracking computing platform 110 maydetermine that the first account-change message is associated with thesecond account-change message. For example, the first account-changemessage may include information indicating that a first source useraccount of UCD3 160 is accessing a second source user account of ICD1170. The first account-change message may also identify the networkidentifier(s) of UCD3 160. The second account-change message may includeinformation indicating that the first source user account of UCD3 160 isaccessing the second source user account of ICD1 170. The secondaccount-change message may also identify the network identifier(s) ofUCD3 160. Further, as described herein, one or more timestamps includedin each of the first account-change message and the secondaccount-change message may be compared to determine the associationbetween the first account-change message and the second account-changemessage.

At step 310, account lineage tracking computing platform 110 maydetermine that one of the one or more source user accounts of UCD3 160is an originating account. For example, the second account-changemessage may indicate that no additional source user account of anothercomputing device (other than ICD1 170) is linked to UCD3 160. Forinstance, UCD3 160 may be the end node in the account lineage chainamong UCD3 160, ICD1 170, and distributed database computing platform120.

At step 311, account lineage tracking computing platform 110 maygenerate a source-level account lineage profile. For example, accountlineage tracking computing platform 110 may generate the source-levelaccount lineage profile based on the first account-change message andthe second account-change message. The source-level account lineageprofile may indicate information of an account lineage from anoriginating account of UCD3 160 to one or more source user accounts ofICD1 170 including a source user account of ICD1 170 that accessesdistributed database computing platform 120. For instance, thesource-level account lineage profile may include information to indicatesource-level portions 770 of the account lineage illustrated in FIG. 7D(from user account1 of UCD3 160 to App account1, from the App account1to user account of ICD1 170, and from the user account of ICD1 170 totarget DB1 App account1).

At step 312, administrator computing device 130 may receive thesource-level account lineage profile. For example, based on thesource-level account lineage profile, administrator computing device 130may generate (e.g., reproduce) and display account lineage data. Forinstance, administrator computing device 130 may reproduce the accountlineage data illustrated in FIGS. 7A-7D. Administrator computing device130 may manage an account lineage profile database and update theaccount lineage profile database with newly received account lineagedata profiles. Based on the account lineage profile database,administrator computing device 130 may analyze account-change trends atvarious source levels (and database levels, as discussed in greaterdetail below).

Although FIGS. 3A-3B illustrates only one intermediate computing device,ICD1 170, one or more additional intermediate computing devices mayexist between distributed database computing platform 120 and ICD1 170.For example, a user of UCD3 160 may use a source user account of UCD3160 to access a database of distributed database computing platform 120via a plurality of intermediate computing devices using a plurality ofaccount change instances. As discussed above, UCD3 160 may access ICD1170. ICD1 170 may access an intermediate computing device A, which mayaccess an intermediate computing device B. The intermediate computingdevice B may access distributed database computing platform 120. As willbe discussed in more detail below, a database-level interceptor of thedatabase of distributed database computing platform 120 may determinethat the intermediate computing device B attempts to access the databaseof distributed database computing platform 120, and cause theintermediate computing device B to install a source-level interceptor.The source-level interceptor of the intermediate computing device B maymonitor for one or more account-change instances, determine that theattempt to access the database of distributed database computingplatform 120 is originated from the intermediate computing device A, andcause the intermediate computing device A to install a source-levelinterceptor. The source-level interceptor of the intermediate computingdevice A may monitor for one or more account-change instances, determinethat the attempt to access the database of distributed databasecomputing platform 120 is originated from ICD1 170, and cause ICD 170 toinstall source-level interceptor 171. As discussed above, source-levelinterceptor 171 may monitor for one or more account-change instances,determine that the attempt to access the database of distributeddatabase computing platform 120 is originated from UCD3 160, and causeUCD 160 to install a source-level interceptor. The source-levelinterceptor of UCD 3 160 may determine that a source user account of UCD3 160 is an originating account and report the originating account toaccount lineage tracking computing platform 110.

FIGS. 4A-4D depict another illustrative event sequence and accountlineage data for controlling access to secure information resourcesusing account lineage tracking and verification in accordance with oneor more example embodiments. Referring to FIG. 4A, account lineagetracking computing platform 110 may receive a database-levelaccount-change message from distributed database computing platform 120and may generate a database-level account lineage profile. At step 401,UCD1 140 may attempt to access one or more target databases ofdistributed database computing platform 120. For example, a user of UCD1140 may attempt to access a first database of distributed databasecomputing platform 120 by logging into a database user account of adatabase access application configured to access the first database.Distributed database computing platform 120 may receive a request foraccessing the first database from UCD1 140 via the database accessapplication.

Distributed database computing platform 120 may detect one or moreidentifiers associated with the request. For example, distributeddatabase computing platform 120 may detect one or more networkidentifiers (e.g., IP address(es), MAC address(es), etc.) associatedwith UCD1 140 and may detect the database user account of the databaseaccess application. Based on the request and/or the database useraccount of the database access application, distributed databasecomputing platform 120 may grant UCD1 140 to access the first databaseof distributed database computing platform 120.

At step 402, a database-level interceptor may detect one or moreaccount-change instances in the first database. For example, eachdatabase of distributed database computing platform 120 may include adatabase-level interceptor. The database-level interceptor in eachdatabase may be configured as a database-specific interceptor inaccordance with different syntaxes and database structures. Forinstance, different databases of distributed database computing platform120 may be implemented with different identity configurations and datastructures in association with database account changes and switching.Each database-level interceptor may detect an account-change or contextswitching (e.g., including execution context switching caused by one ormore commands such as “execute as”) at a specific database level.

Each database-level interceptor may generate a database-levelaccount-change message based on the one or more database-levelaccount-change instances occurring in the respective database. Thedatabase-level account-change message may be in a database agnosticformat. For example, a plurality of databases of distributed databasecomputing platform 120 may have different database syntaxes and databasestructures, but they may generate account-change messages in the sameformat. The database-level account-change message may includeinformation indicating database-level account lineage data (e.g.,database-level account lineage data 490 illustrated in FIG. 4D). As seenin FIG. 4D, for instance, the database-level account lineage data 490may indicate one or more source database accounts 491 (e.g., thedatabase user account to access the first database), one or more targetdatabase accounts 492 (e.g., a database administrator account, one ormore target database accounts switched based on one or more “executedas” commands), one or more timestamps 495 (e.g., a third timestampassociated with a time when the database user account accesses the firstdatabase, a fourth timestamp associated with a time when the databaseuser account is switched to another database account), the databaseinformation 494 (e.g., database identifier(s), database version(s),etc.), and one or more command issued 493 (e.g., one or more “executedas” commands).

At step 403, account lineage tracking computing platform 110 may receivethe database-level account-change message from distributed databasecomputing platform 120. For example, account lineage tracking computingplatform 110 may receive the database-level account-change message andanalyze the information indicating database-level account lineage data.Account lineage tracking computing platform 110 may analyzeaccount-change messages of a plurality of databases of distributeddatabase computing platform 120.

At step 404, account lineage tracking computing platform 110 maygenerate a database-level account lineage profile based on one or moredatabase-level account change messages. For example, the database-levelaccount lineage profile may indicate information of an account lineagefrom a database user account to another database account (e.g., adatabase administrator account). For instance, the database-levelaccount lineage profile may include information to indicatedatabase-level portions 771 of the account lineage illustrated in FIG.7A (from a target DB1 App account1 to a target DB1 App account2). Thetarget DB1 App account1 may be the database access application accountof ICD1 170 for accessing the first database (e.g., database 1 121illustrated in FIG. 7A). The target DB1 App account2 may be the databaseadministrator account of the first database. As seen in FIG. 7A, adatabase-level interceptor of database 1 121 might not be aware of theuser account of ICD1 170 that accessed the target DB1 App account1.Distributed database computing platform 120 may identify the one or morenetwork identifiers and one or more timestamps (e.g., TS3 indicating atime when the user account of ICD1 170 accessed the target DB1 Appaccount1). However, distributed database computing platform 120 mightnot be aware of one or more source user accounts of ICD1 170 that arepossibly linked to the target DB1 App account1. The account lineagechain between database 1 121 and ICD1 170 may be incomplete (e.g.,broken) as illustrated in FIG. 7A until one or more source-levelinterceptors report one or more source-level account change messages andthe one or more source-level account change messages are analyzed byaccount lineage tracking computing platform 110.

At step 405, account lineage tracking computing platform 110 may sendthe database-level account lineage profile to administrator computingdevice 130. For example, based on the database-level account lineageprofile, administrator computing device 130 may generate (e.g.,reproduce) and display account lineage data at the database level. Forinstance, administrator computing device 130 may reproduce the accountlineage data illustrated in FIGS. 7A-7D. Administrator computing device130 may manage the account lineage profile database and update theaccount lineage profile database with newly received database-levelaccount lineage data profiles. Based on the account lineage profiledatabase, administrator computing device 130 may analyze account-changetrends at various database levels.

Account lineage tracking computing platform 110 may detect an incompleteaccount lineage chain and cause administrator computing device 130 tolimit (or restrict, ban, deny, etc.) a database access request based onthe incomplete account lineage chain. Referring to FIG. 4B, at step 451,UCD1 140 may attempt to access a target database of distributed databasecomputing platform 120. For example, UCD1 140 may attempt to access thetarget database based on an account change. For instance, a user of UCD1140 may use a source user account of an operating system of UCD1 140 anduse a database user account of a database application configured toaccess the target database. Distributed database computing platform 120may detect the database user account but might not be aware of thesource user account.

At step 452, a database-level interceptor of the target database maydetect one or more database-level account change instances. For example,the database-level interceptor of the target database may detect anattempt to switch from the database user account to a databaseadministrator account. Distributed database computing platform 120 maygenerate a database-level account-change message based on the one ormore database-level account change instances detected by thedatabase-level interceptor of the target database.

At step 453, account lineage tracking computing platform 110 may receivethe database-level account-change message from distributed databasecomputing platform 120. For example, distributed database computingplatform 120 may receive information of the one or more database-levelaccount change instances from the database-level interceptor of thetarget database. The database-level account-change message may includeone or more network identifiers of UCD1 140 corresponding to itsattempts to access the target database.

At step 454, account lineage tracking computing platform 110 maydetermine a failure of detecting the source user account of UCD1 140.For example, UCD1 140 might not have a source-level interceptor, andmight not send a source-level account-change message to account lineagetracking computing platform 110.

At step 455, account lineage tracking computing platform 110 maygenerate a notification indicating an account lineage is incomplete. Forexample, the notification may indicate that an originating account of auser computing device that requests the database-level account-changeinstance (e.g., from the database user account to the databaseadministrator account) has not been identified or verified.

At step 456, administrator computing device 130 may receive thenotification indicating an account lineage is incomplete and may limit adatabase access of UCD1 140. For example, administrator computing device130 may cause distributed database computing platform 120 to reject thedatabase-level account change (e.g., from the database user account tothe database administrator account) and/or limit one or more rights ofthe database user account in the target database. For instance, thedatabase user account may be locked and might not be used for accessingthe target database until the locked account is successfully unlockedbased on an authentication process (e.g., the authentication processillustrated in FIGS. 2A-2B)

Account lineage tracking computing platform 110 may detect one or moreaccount-change instances between databases in distributed databasecomputing platform 120. Referring to FIG. 4C, at step 471, UCD1 140 mayaccess database1 121 based on a first account change (account-change 1).For example, UCD1 140 may use a first database application account toaccess database1 121. The first account change may be an account-changefrom a first source user account (e.g., an originating account) of UCD1140 to the first database application account.

At step 472, a database-level interceptor1 of database1 121 ofdistributed database computing platform 120 may detect one or moredatabase-level account-change instances in database1 121. For example,database-level interceptor1 may detect an account-change instance fromthe first database application account to a second database account(e.g., a database account configured to access a plurality of databasesof distributed database computing platform 120).

At step 473, database-level interceptor1 of database1 121 may send afirst account-change message indicating the one or more database-levelaccount-change instances. For example, the account-change instance fromthe first database application account to a second database account maybe indicated by the first account-change message. At step 474, thesecond database account accessed by UCD1 140 may access database2 122based on a second account change (account-change 2). Database-levelinterceptor1 of database1 121 may also detect the second account change.Database-level interceptor1 of database1 121 may send anotheraccount-change message indicating the second account change. Forexample, database-level interceptor1 of database1 121 may indicate thatthe second database account accesses database 2 based on the secondaccount change.

At step 475, a database-level interceptor2 of database2 122 may detectone or more database-level account-change instances in database2 122.For example, database-level interceptor2 may detect the account-changefrom database1 121 to database2 122 using the second database account.At step 476, database-level interceptor2 may send a secondaccount-change message indicating the account change from database1 121to database2 122 using the second database account.

At step 477, account lineage tracking computing platform 110 maydetermine a failure of detecting source user account of UCD1 140. Asdiscussed above, account lineage tracking computing platform 110 maydetermine that the first account-change message is associated with thesecond account-change message, based on comparing information includedin the first account-change message and the second account-changemessage (e.g., one or more timestamps, device information, one or morenetwork identifiers, source accounts, target accounts, etc.). Accountlineage tracking computing platform 110 may determine, based on thefirst account-change message and the second account-change message, anaccount lineage chain from the first database application account to thesecond database account that accesses database2 122. However, accountlineage tracking computing platform 110 might not detect use of thesource user account of UCD1 140. For example, UCD1 140 might not have asource-level interceptor, and account lineage tracking computingplatform 110 might not receive a source-level account-change messageassociated with the first account-change message or the secondaccount-change message. Account lineage tracking computing platform 110may determine an incomplete account lineage chain by determining afailure of detecting the source user account of UCD1 140.

At step 478, account lineage tracking computing platform 110 mayindicate, to administrator computing device 130, that an account lineagechain is incomplete. At step 479, administrator computing device 130 mayreceive the indication that an account lineage chain is incomplete andmay limit access to a database by the first database application accountand/or the second database account.

FIG. 5 depicts another illustrative event sequence for controllingaccess to secure information resources using account lineage trackingand verification in accordance with one or more example embodiments. Oneor more processes illustrated in FIG. 5 may be similar to thosediscussed above. For example, UCD2 150 may perform steps 502 and 504,which may be similar to steps 308 and 309, respectively, or may besimilar to steps 205 and 206, respectively. For example, distributeddatabase computing platform 120 may perform steps 503 and 505, which maybe similar to steps 402 and 403, respectively. Account lineage trackingcomputing platform 110 receives account-change messages both fromsource-level interceptor(s) (e.g., as shown in FIGS. 2A-2C and 3A-3B)and database-level interceptors (e.g., as shown in FIGS. 4A-4C) todetermine a complete account lineage chain.

Referring to FIG. 5 , at step 501, UCD2 150 may access a target databaseof distributed database computing platform 120 based on an accountchange (e.g., from a source user account of UCD2 150 to a database useraccount to access the target database). At step 502, source-levelinterceptor 151 of UCD2 150 may detect source-level account-changeinstances (e.g., the account change from the source user account of UCD2150 to a database user account to access the target database). At step503, a database-level interceptor of the target database of distributeddatabase computing platform 120 may detect database-level account-changeinstances (e.g., the database user account accessing the target databasefrom an external computing device (UCD2 150) and a database-levelaccount change from the database user account to a second databaseaccount). At step 504, account lineage tracking computing platform 110may receive a first account-change message indicating the source-levelaccount change instances. At step 505, account lineage trackingcomputing platform 110 may receive a second account-change messageindicating the database-level account change instances.

At step 507, account lineage tracking computing platform 110 maygenerate a multi-level account lineage profile based on the first andsecond account-change messages. For example, the multi-level accountlineage profile may include both the source-level account lineageprofile illustrated in FIG. 3B (e.g., step 311) and the database-levelaccount lineage profile illustrated in FIG. 4A (e.g., step 404). Forinstance, the multi-level account lineage profile may includeinformation indicating the source-level portions 770 of the accountlineage illustrated in FIG. 7D, the database-level portions 771 of theaccount lineage illustrated in FIG. 7A, and/or the database-levelportions 772 of the account lineage illustrated in FIG. 7D. At step 508,administrator computing device 130 may receive the multi-level accountlineage profile from account lineage tracking computing platform 110.Based on the multi-level account lineage profile, administratorcomputing device 130 may determine that the account-lineage chain iscomplete and the source user account of UCD2 150 is an originatingaccount. At step 509, administrator computing device 130 may grant oneor more rights for the accounts in the complete account lineage chain toallow and/or otherwise enable such accounts to access the targetdatabase based on determining that the account-lineage chain iscomplete.

FIGS. 6A-6B depict another illustrative event sequence for controllingaccess to secure information resources using account lineage trackingand verification in accordance with one or more example embodiments. Oneor more processes illustrated in FIGS. 6A-6B may be performed, forexample, if a user of a user computing device (e.g., UCD4 180) having asource-level interceptor installed thereon attempts to accessdistributed database computing platform 120 via one or more intermediatecomputing devices (e.g., ICD2 190) that do not have source-levelinterceptors. One or more processes illustrated in FIGS. 6A-6B may besimilar to those discussed above. As seen in FIG. 1A, UCD4 180 mayinclude a source-level interceptor but ICD2 190 might not include asource-level interceptor. Account lineage tracking computing platform110 may receive a first account-change message from UCD4 180 and asecond account-change message from distributed database computingplatform 120. Based on the first account-change message and the secondaccount-change message, account lineage tracking computing platform 110may determine that UCD4 180 attempts to access distributed databasecomputing platform 120 via an intermediate computing device (e.g., ICD2190) that does not have a source-level interceptor. Account lineagetracking computing platform 110 may identify ICD2 190 and cause ICD2 190to install a source-level interceptor. While FIGS. 3A-3B illustrate abackward tracking process to identify UCD3 160 and its originatingaccount, FIGS. 6A-6B illustrate a forward tracking process to identifyICD2 190 and its source user accounts associated with an account lineagechain between UCD4 180 and distributed database computing platform 120.

In some embodiments, UCD4 180 may use a remote access application toaccess and control ICD2 190. For instance, UCD4 180 may access ICD2 190with an access grant by ICD2 190. UCD4 180 may control one or morecomputing resources of ICD2 190 to access a target database ofdistributed database computing platform 120. ICD2 190 may be a usercomputing device having a remote access application, a virtualizationserver configured to be accessed by one or more user computing devices,a cloud computing server, etc.

Referring to FIG. 6A, at step 601, UCD4 180 may access a targetdatabase, via ICD2 190, based on multiple account changes. For example,UCD4 180 may access ICD2 190 using a first source user account of UCD4180 and may perform a first account change from the first source useraccount of UCD4 180 to a second source user account of ICD2 190. UCD4180 may control ICD2 190 to perform a second account change from thesecond source user account of ICD2 190 to a database user accountconfigured to access a target database of distributed database computingplatform 120.

At step 602, source-level interceptor 181 of UCD4 180 may detect one ormore account change instances including information of the first sourceuser account of UCD4 140 and the second source user account of ICD2 190.The second account change from the second source user account of ICD2190 to the database user account occurring in ICD2 190 might not bedetected.

At step 603, a database-level interceptor of the target database ofdistributed database computing platform 120 may detect one or moreaccount change instances associated with ICD2 190 (e.g., the access tothe target database using the database user account used via ICD2 190,an account change from the database user account to a second databaseaccount, etc.).

At step 604, account lineage tracking computing platform 110 may receivea first account-change message indicating the source-level accountchange instances in UCD4 180. At step 605, account lineage trackingcomputing platform 110 may receive a second account-change messageindicating the database-level account change instances in the targetdatabase in distributed database computing platform 120. However,account lineage tracking computing platform 110 might not receive anaccount-change message from ICD2 190, which has not installed asource-level interceptor. At step 606, account lineage trackingcomputing platform 110 may determine that an account lineage chain isincomplete (e.g., account lineage chain is broken at ICD2 190), forexample, because account lineage tracking computing platform 110 has notreceived an account-change message from ICD2 190.

A source-level interceptor may be installed on ICD2 190 to cure theincomplete account chain. Referring to FIG. 6B, at step 607, accountlineage tracking computing platform 110 (or administrator computingdevice 130) may perform an authentication process with ICD2 190. Forexample, account lineage tracking computing platform 110 may perform theauthentication process with ICD2 190, as discussed above. For instance,the authentication process may be based on one or more processes similarto those illustrated in FIGS. 2A and 2B (e.g., steps 201 and 251-255).At step 608, ICD2 190 may download and install a source-levelinterceptor. At step 609, ICD2 190 may detect one or more account-changeinstances in ICD2 190.

At step 610, the source-level interceptor installed on ICD2 190 may senda third account-change message. For example, the third account-changemessage may indicate the second account change from the second sourceuser account of ICD2 190 to the database user account (and/or any otheraccount change instances in ICD2 190 associated with the account chain).

At step 611, account lineage tracking computing platform 110 maygenerate a multi-level account lineage profile. For example, themulti-level account lineage profile may be generated based on the firstaccount-change message, the second account-change message, and the thirdaccount change message. The multi-level account lineage profile mayindicate that an account lineage chain updated based on the thirdaccount-change message is now complete. At step 612, administratorcomputing device 130 may receive the multi-level account lineageprofile.

FIGS. 7A-7D depict an illustrative information flow associated with oneor more account lineage profiles in accordance with one or more exampleembodiments. Referring to FIG. 7A, a first database-level account changeinstance from source user account0 to target DB1 app account1 may haveoccurred at a time corresponding to a timestamp TS0. A seconddatabase-level account change instance from an unknown source account totarget DB1 app account1 may have occurred at a time corresponding to atimestamp TS3 (e.g., the unknown source account accesses database1 121using target DB1 app account1 at the time corresponding to TS3). Theunknown source account may be a source user account of ICD1 170 unknownto distributed database computing platform 120. A third database-levelaccount change instance from target DB1 app account1 to target DB1 appaccount2 may have occurred at a time corresponding to a timestamp TS4.

The second database-level account change instance and the thirddatabase-level account change instance may be linked to each other basedone or more timestamps (e.g., TS3 and TS4), session information (e.g.,whether one or more sessions associated with an account is valid orexpired). For example, a difference between TS3 and TS4 may be within athreshold time period (e.g., 30 minutes, one hour, three hours, one day,etc.) to link the second database-level account change instance and thethird database-level account change to each other. To link the seconddatabase-level account change instance and the third database-levelaccount change to each other, the database-level interceptor maydetermine target DB1 App account1 is still signed in and in an activesession when target DB1 app account2 is accessed. Distributed databasecomputing platform 120 may identify and provide one or more networkidentifiers of ICD1 170 and the timestamp TS3 to assist thedetermination whether to link the second database-level account changeinstance and the third database-level account change instance to eachother.

A source-level interceptor of UCD3 160 may detect one or moresource-level account-change instances in UCD3 160. For example, a firstsource-level account change instance from source user account1 of UCD3160 to App account1 may have occurred at a time corresponding to atimestamp TS1. A second source-level account change instance from Appaccount1 to a source user account of ICD1 170 may have occurred at atime corresponding to a timestamp TS2.

The first source-level account change instance and the secondsource-level account change instance may be linked to each other basedone or more timestamps (e.g., TS1 and TS2), session information (e.g.,whether one or more sessions associated with an account is valid orexpired). For example, a difference between TS1 and TS2 may be within athreshold time period (e.g., one hour, three hours, one day, etc.) tolink the first source-level account change instance and the secondsource-level account change to each other. To determine the linkage, thesource-level interceptor of UCD3 160 may determine source user account1is still signed in (and in active sessions) when app account1 isaccessed.

A source-level interceptor of ICD1 170 may detect one or moresource-level account-change instances in ICD1 170. For example, a thirdsource-level account change instance from App account1 to the sourceuser account of ICD1 170 may have occurred at a time corresponding to atimestamp TS2. A fourth source-level account change instance from thesource user account of ICD1 170 to target DB1 app account1 may haveoccurred at a time corresponding to a timestamp TS3.

The third source-level account change instance and the fourthsource-level account change instance may be linked to each other basedone or more timestamps (e.g., TS2 and TS3), session information (e.g.,whether one or more sessions associated with an account is valid orexpired). For example, a difference between TS2 and TS3 may be within athreshold time period (e.g., one hour, three hours, one day, etc.) tolink the third source-level account change instance and the fourthsource-level account change to each other. To determine the linkage, thesource-level interceptor of ICD1 170 may determine app account1 and/orsource user account of ICD1 170 are still signed in (and in activesessions) when target DB1 app account1 is accessed.

The first database-level account change instance might not be linked toother account-change instances illustrated in FIG. 7A. For example,source user account0 is not associated with ICD1 170 or UCD3 160 and/orTS0 may be too remote (e.g., a difference between TS0 and anothertimestamp illustrated in FIG. 7A may be greater than the threshold timeperiod). For instance, the session associated with source user account0may be already expired.

Referring to FIG. 7B, account lineage tracking computing platform 110may determine whether a first account lineage segment 791 is associatedwith a second account lineage segment 792. For example, the timestampsTS3 of the first account lineage segment 791 and the second accountlineage segment 792 may be compared to each other to determine whetherthe first account lineage segment 791 and the second account lineagesegment 792 need to be linked. One or more network identifiers of ICD1170 associated with the first account lineage segment 791 and the secondaccount lineage segment 792 may be compared to each other to determinewhether the first account lineage segment 791 and the second accountlineage segment 792 need to be linked. Although FIG. 7A illustrates thatthe timestamps TS3 of the first account lineage segment 791 and thesecond account lineage segment 792 are identical, the timestamp of thefirst account lineage segment 791 and the timestamp of the secondaccount lineage segment 792 may be slightly different, for example, adifference between the two timestamps TS3 is within a threshold timingerror difference (e.g., 0.1 ms, 1 ms, 1 sec, etc.).

Account lineage tracking computing platform 110 may link the firstaccount lineage segment 791 and the second account lineage segment 792to each other as part of the same account lineage chain. As seen inFIGS. 7B-7C, the unknown source user account of ICD1 170 for the secondaccount lineage segment 792 has been updated to source user account ofICD1 170 based on the first account lineage segment 791.

A third account lineage segment 793 and a fourth account lineage segment794 may be linked to each other in a similar way. For example, accountlineage tracking computing platform 110 may compare two timestamps TS2.Account lineage tracking computing platform 110 may also determine thateach of the third account lineage segment 793 and the fourth accountlineage segment 794 has app account1 as a source account and useraccount of ICD1 170 as a target account.

As seen in FIG. 7D, a complete multi-level account lineage chainincluding the source-level portions 770 and the database-level portions772 may be generated by account lineage tracking computing platform 110.Account lineage tracking computing platform 110 may determine that anoriginating account in the complete multi-level account lineage chain isuser account1 of UCD3 160 and the final target database account in thecomplete multi-level account lineage chain is target DB1 app account2.

FIGS. 8A-8B depict another illustrative information flow associated withone or more account lineage profiles in accordance with one or moreexample embodiments. In FIGS. 8A-8B, a database-level interceptor ofdatabase1 121 of distributed database computing platform 120 may detecta plurality of account-change instances associated with target DB1 Appaccount1. For example, target DB1 App account1 may be accessed by UCD1140 (not having a source-level interceptor) and UCD2 150 (havingsource-level interceptor 151). Account lineage tracking platform 110 maydetermine whether a database-level account lineage segment 894 isassociated with a database-level account lineage segment 892 and adatabase-level account lineage segment 893.

Referring to FIG. 8A, account lineage tracking computing platform 110may identify a source-level account lineage segment 891 anddatabase-level account lineage segment 892, for example, after receivingone or more account-change messages, as discussed above. For example, auser of UCD2 150 may use a source user account of UCD2 150 and launch adatabase access application. The user of UCD2 150 may use target DB1 appaccount1 to access database1 121 at a time corresponding to a timestampTS6. While the user of UCD2 150 is accessing database1 121, thedatabase-level interceptor of database1 121 may detect anotherdatabase-level account-change instance at a time corresponding to atimestamp TS7, which has an incomplete account lineage chain to anunknown source user account (e.g., a difference between TS6 and TS7 maybe less than a threshold time period). Account lineage trackingcomputing platform 110 may determine database-level account lineagesegment 893 based on the database-level account-change instance at atime corresponding to a timestamp TS7.

Account lineage tracking computing platform 110 may identifydatabase-level account lineage segment 894 and a database-level accountlineage segment 895, for example, after receiving one or moreaccount-change messages, as discussed above. For example, thedatabase-level interceptor of database1 121 may detect an account-changeinstance from target DB1 app account1 to target DB2 app account1 at atime corresponding to TS8. Also, a database-level interceptor ofdatabase2 122 may detect an account-change instance from target DB1 appaccount1 to target DB2 app account1 at a time corresponding to TS8.

Referring to FIG. 8B, account lineage tracking computing platform 110may link the database-level account lineage segment 894 and thedatabase-level account lineage segment 895 as part of a same accountlineage chain. Also, account lineage tracking computing platform 110 maylink the database-level account lineage segment 891 and thedatabase-level account lineage segment 892 as part of a same accountlineage chain.

Account lineage tracking computing platform 110 may determine thedatabase-level account lineage segment 894 may be associated with one ormore of the database-level account lineage segment 892 and/or thedatabase-level account lineage segment 893. Account lineage trackingcomputing platform 110 may determine that the database-level accountlineage segment 893 may be a suspicious candidate associated with theaccount lineage segments 891, 892, 894, and 895.

Account lineage tracking computing platform 110 may perform one or moreprocesses based on identifying a suspicious candidate (e.g., thedatabase-level account lineage segment 893). For example, accountlineage tracking computing platform 110 may send an alert toadministrator computing device 130 notifying a user of administratorcomputing device 130 of the suspicious candidate and its relationshipwith the account lineage segments 891, 892, 894, and 895. The alert mayinclude one or more account lineage profiles so that administratorcomputing device 130 can reconstruct one or more account lineage chainsand account lineage profiles (e.g., as illustrated in FIGS. 8A-8B).

Account lineage tracking computing platform 110 and/or administratorcomputing device 130 may verify whether the database-level accountlineage segment 893 is authorized. For example, account lineage trackingcomputing platform 110 may cause UCD1 140 to install a source-levelinterceptor to identify the unknown source account of the database-levelaccount lineage segment 893. If both the database-level account lineagesegment 893 and the database-level account lineage segment 894 areauthenticated, both the database-level account lineage segment 893 andthe database-level account lineage segment 894 may be linked to thedatabase-level account lineage segment 894. A source-level interceptormay be installed on UCD1 140 to identify one or more sourceaccount-change instances in UCD1 140 (and additional computing devicesassociated with UCD1 140), and a complete account lineage chain may begenerated including one or more source-level account-change instances inUCD1 140.

If the database-level account lineage segment 894 is not authenticated,account lineage tracking computing platform 110 may cause database1 121to terminate a session associated with the database-level accountlineage segment 893. Account lineage tracking computing platform 110 mayalert such suspicious events to administrator computing device 130 sothat suspicious account-change instances can be updated in the accountlineage profile database.

FIG. 9 depicts one or more illustrative modules for controlling accessto secure information resources using an account lineage tracking systemin accordance with one or more example embodiments. One or more modules(or sub-modules, functions, and/or processes) illustrated in FIG. 9 maybe implemented by administrator computing device 130 and/or accountlineage tracking computing platform 110. Referring to FIG. 9 , a lineagetracking control module 900 may include one or more of: a lineagelinking 910, a use mapping 920, and/or an account lineage monitoring930. Lineage linking 910 may include identifying information included indatabase-level account-change message and source-level account-changemessage, identifying and linking account-change instances and/or accountlineage segments, and generating one or more account lineage profiles,as discussed above. Use mapping 920 may include maintaining anentitlement catalog and mapping, based on the entitlement catalog, oneor more entitlements for each account in an account lineage chain. Usemapping 920 may also include identifying one or more accounts in anaccount lineage chain that are not granted to have one or more rights indistributed database computing platform 120. An account lineagemonitoring 930 may include monitoring and analyzing account lineage data(e.g., generating and sending notifications to an access review tool forreviewing account access histories associated with various differentaccount lineage chains, generating and sending notifications to amonitoring tool for monitoring account use histories and/or for a trendanalysis). Account lineage monitoring 930 may also include determiningwhether account-change instances are usual or unusual in view ofhistorical account-lineage chains and account lineage profiles.

For account lineage monitoring 930, a machine learning-basedclassification model may be implemented. The account lineage profiledatabase may accumulate account lineage profile data and build abaseline data set for machine learning-based training. The machinelearning-based classification model may be generated and use thebaseline data set. One or more unusual account use patterns and accountlineage profiles may be identified and notified to one or moremonitoring tools.

One or more aspects of the disclosure may be embodied in computer-usabledata or computer-executable instructions, such as in one or more programmodules, executed by one or more computers or other devices to performthe operations described herein. Generally, program modules includeroutines, programs, objects, components, data structures, and the likethat perform particular tasks or implement particular abstract datatypes when executed by one or more processors in a computer or otherdata processing device. The computer-executable instructions may bestored as computer-readable instructions on a computer-readable mediumsuch as a hard disk, optical disk, removable storage media, solid-statememory, RAM, and the like. The functionality of the program modules maybe combined or distributed as desired in various embodiments. Inaddition, the functionality may be embodied in whole or in part infirmware or hardware equivalents, such as integrated circuits,application-specific integrated circuits (ASICs), field programmablegate arrays (FPGA), and the like. Particular data structures may be usedto more effectively implement one or more aspects of the disclosure, andsuch data structures are contemplated to be within the scope of computerexecutable instructions and computer-usable data described herein.

Various aspects described herein may be embodied as a method, anapparatus, or as one or more computer-readable media storingcomputer-executable instructions. Accordingly, those aspects may takethe form of an entirely hardware embodiment, an entirely softwareembodiment, an entirely firmware embodiment, or an embodiment combiningsoftware, hardware, and firmware aspects in any combination. Inaddition, various signals representing data or events as describedherein may be transferred between a source and a destination in the formof light or electromagnetic waves traveling through signal-conductingmedia such as metal wires, optical fibers, or wireless transmissionmedia (e.g., air or space). In general, the one or morecomputer-readable media may be and/or include one or more non-transitorycomputer-readable media.

As described herein, the various methods and acts may be operativeacross one or more computing servers and one or more networks. Thefunctionality may be distributed in any manner, or may be located in asingle computing device (e.g., a server, a client computer, and thelike). For example, in alternative embodiments, one or more of thecomputing platforms discussed above may be combined into a singlecomputing platform, and the various functions of each computing platformmay be performed by the single computing platform. In such arrangements,any and/or all of the above-discussed communications between computingplatforms may correspond to data being accessed, moved, modified,updated, and/or otherwise used by the single computing platform.Additionally or alternatively, one or more of the computing platformsdiscussed above may be implemented in one or more virtual machines thatare provided by one or more physical computing devices. In sucharrangements, the various functions of each computing platform may beperformed by the one or more virtual machines, and any and/or all of theabove-discussed communications between computing platforms maycorrespond to data being accessed, moved, modified, updated, and/orotherwise used by the one or more virtual machines.

Aspects of the disclosure have been described in terms of illustrativeembodiments thereof. Numerous other embodiments, modifications, andvariations within the scope and spirit of the appended claims will occurto persons of ordinary skill in the art from a review of thisdisclosure. For example, one or more of the steps depicted in theillustrative figures may be performed in other than the recited order,and one or more depicted steps may be optional in accordance withaspects of the disclosure.

What is claimed is:
 1. A computing platform, comprising: at least oneprocessor; a communication interface communicatively coupled to the atleast one processor; and memory storing computer-readable instructionsthat, when executed by the at least one processor, cause the computingplatform to: receive, via the communication interface, from adatabase-level interceptor associated with a target database, a firstaccount-change message, wherein the first account-change messagecomprises information identifying a first target account as adatabase-level source account and identifying a second target accountassociated with one or more target databases, and wherein the firsttarget account is associated with a target application configured toaccess the target database; determine, based on a failure to detect asource account associated with the first target account, an accountlineage chain associated with the first account-change message isincomplete; generate, based on the determining, at least one commanddirecting a database computing platform associated with the targetdatabase to limit access of the first target account to the targetdatabase; and send, via the communication interface, to the databasecomputing platform associated with the target database, the at least onecommand directing the database computing platform associated with thetarget database to limit access of the first target account to thetarget database, wherein the second target account has at least oneright associated with the target database that are unavailable to thefirst target account, wherein the source account is associated with atleast one computing device, and wherein the database computing platformassociated with the target database is incapable of tracking an accountlineage from the first target account to the source account to verifywhether the first target account is accessed by an authorized user. 2.The computing platform of claim 1, wherein the memory stores additionalcomputer-readable instructions that, when executed by the at least oneprocessor, cause the computing platform to: determine a first timestampincluded in the first account-change message, wherein the firsttimestamp indicates a time of requesting an account change from thefirst target account to the second target account; determine a secondtimestamp indicating a time of accessing the target database by thefirst target account; and track, based on a comparison of the firsttimestamp and the second timestamp, the source account associated withthe first target account.
 3. The computing platform of claim 2, whereintracking the source account associated with the first target accountcomprises: identifying a network identifier associated with the sourceaccount; instructing a first computing device associated with thenetwork identifier to install a source-level interceptor to track anaccount lineage from the first target account to the source account; andidentifying, based on a communication from the installed source-levelinterceptor, the source account.
 4. The computing platform of claim 1,wherein the memory stores additional computer-readable instructionsthat, when executed by the at least one processor, cause the computingplatform to: identify a first computing device accessing the firsttarget account; instruct the first computing device to install asource-level interceptor to track an account lineage from the firsttarget account to the source account; and receive, via the communicationinterface, from the source-level interceptor, a second account-changemessage, wherein the second account-change message comprises informationidentifying the source account and identifying the first target account.5. The computing platform of claim 4, wherein the second account-changemessage further comprises device information of the first computingdevice, one or more commands associated with the source account, and atleast one timestamp; and wherein the first account-change messagefurther comprises database information of the target database, one ormore commands associated with the target database, and one or moretimestamps.
 6. The computing platform of claim 4, wherein the memorystores additional computer-readable instructions that, when executed bythe at least one processor, cause the computing platform to: generate,based on the first account-change message and the second account-changemessage, a notification comprising information associated with anaccount lineage between the source account and the second targetaccount; and send, via the communication interface, to an administratoruser computing device, the notification comprising the informationassociated with the account lineage between the source account and thesecond target account.
 7. The computing platform of claim 4, wherein thememory stores additional computer-readable instructions that, whenexecuted by the at least one processor, cause the computing platform to:determine, based on the second account-change message, that the sourceaccount is not an originating account and is associated with a secondsource account of a second computing device; and instruct the secondcomputing device to install a second source-level interceptor.
 8. Thecomputing platform of claim 7, wherein the memory stores additionalcomputer-readable instructions that, when executed by the at least oneprocessor, cause the computing platform to: receive, via thecommunication interface, from the second source-level interceptor, athird account-change message, wherein the third account-change messagecomprises information identifying the second source account andidentifying the source account; determine, based on the thirdaccount-change message, that the second source account is an originatingaccount; generate, based on determining that the second source accountis an originating account, information indicating a complete accountlineage between the second source account and the second target account;and store the information indicating the complete account lineagebetween the second source account and the second target account.
 9. Thecomputing platform of claim 8, wherein the information indicating thecomplete account lineage between the second source account and thesecond target account indicates: a first account lineage segment betweenthe second source account and the source account; a second accountlineage segment between the source account and the first target account;and a third account lineage segment between the first target account andthe second target account.
 10. The computing platform of claim 1,wherein the memory stores additional computer-readable instructionsthat, when executed by the at least one processor, cause the computingplatform to: based on an incomplete account lineage chain associatedwith the first account-change message, cause a denial of anaccount-change from the first target account to the second targetaccount.
 11. The computing platform of claim 1, wherein the sourceaccount is associated with a first computing device, and wherein thememory stores additional computer-readable instructions that, whenexecuted by the at least one processor, cause the computing platform to:receive, via the communication interface, from a source-levelinterceptor associated with a second computing device, a secondaccount-change message, wherein the second account-change messagecomprises information identifying a second source account associatedwith the second computing device and identifying the source accountassociated with the first computing device; and determine, based on thefirst account-change message and the second account-change message, thatan account lineage chain is incomplete at the first computing device.12. The computing platform of claim 11, wherein the memory storesadditional computer-readable instructions that, when executed by the atleast one processor, cause the computing platform to: based ondetermining that the account lineage chain is incomplete at the firstcomputing device, instruct the first computing device to install asecond source-level interceptor.
 13. The computing platform of claim 11,wherein the memory stores additional computer-readable instructionsthat, when executed by the at least one processor, cause the computingplatform to: based on determining that the account lineage chain isincomplete at the first computing device, generate informationindicating an incomplete account lineage between the source account andthe first target account; and send, via the communication interface, toan administrator user computing device, a notification comprising theinformation indicating the incomplete account lineage between the sourceaccount and the first target account.
 14. A method, comprising: at acomputing platform comprising at least one processor, a communicationinterface, and memory: receiving, via the communication interface, froma database-level interceptor associated with a target database, a firstaccount-change message, wherein the first account-change messagecomprises information identifying a first target account as adatabase-level source account and identifying a second target accountassociated with one or more target databases, and wherein the firsttarget account is associated with a target application configured toaccess the target database; determining, based on a failure to detect asource account associated with the first target account, an accountlineage chain associated with the first account-change message isincomplete; generating, based on the determining, at least one commanddirecting a database computing platform associated with the targetdatabase to limit access of the first target account to the targetdatabase; and sending, via the communication interface, to the databasecomputing platform associated with the target database, the at least onecommand directing the database computing platform associated with thetarget database to limit access of the first target account to thetarget database, wherein the second target account has at least oneright associated with the target database that are unavailable to thefirst target account, wherein the source account is associated with atleast one computing device, and wherein the database computing platformassociated with the target database is incapable of tracking an accountlineage from the first target account to the source account to verifywhether the first target account is accessed by an authorized user. 15.The method of claim 14, further comprising: determining a firsttimestamp included in the first account-change message, wherein thefirst timestamp indicates a time of requesting an account change fromthe first target account to the second target account; determining asecond timestamp indicating a time of accessing the target database bythe first target account; and tracking, based on a comparison of thefirst timestamp and the second timestamp, the source account associatedwith the first target account.
 16. The method of claim 15, whereintracking the source account associated with the first target accountcomprises: identifying a network identifier associated with the sourceaccount; instructing a first computing device associated with thenetwork identifier to install a source-level interceptor; andidentifying, based on a communication from the installed source-levelinterceptor, the source account.
 17. The method of claim 14, furthercomprising: identifying a first computing device accessing the firsttarget account; instructing the first computing device to install asource-level interceptor; and receiving, via the communicationinterface, from the source-level interceptor, a second account-changemessage, wherein the second account-change message comprises informationidentifying the source account and identifying the first target account.18. The method of claim 17, wherein the second account-change messagefurther comprises device information of the first computing device, oneor more commands associated with the source account, and at least onetimestamp; and wherein the first account-change message furthercomprises database information of the target database, one or morecommands associated with the target database, and one or moretimestamps.
 19. One or more non-transitory computer-readable mediastoring instructions that, when executed by a computing platformcomprising at least one processor and a memory, cause the computingplatform to: receive, from a database-level interceptor associated witha target database, a first account-change message, wherein the firstaccount-change message comprises information identifying a first targetaccount as a database-level source account and identifying a secondtarget account associated with one or more target databases, and whereinthe first target account is associated with a target applicationconfigured to access the target database; determine, based on a failureto detect a source account associated with the first target account, anaccount lineage chain associated with the first account-change messageis incomplete; generate, based on the determining, at least one commanddirecting a database computing platform associated with the targetdatabase to limit access of the first target account to the targetdatabase; and send, to the database computing platform associated withthe target database, the at least one command directing the databasecomputing platform associated with the target database to limit accessof the first target account to the target database, wherein the secondtarget account has at least one right associated with the targetdatabase that are unavailable to the first target account, wherein thesource account is associated with at least one computing device, andwherein the database computing platform associated with the targetdatabase is incapable of tracking an account lineage from the firsttarget account to the source account to verify whether the first targetaccount is accessed by an authorized user.
 20. The one or morenon-transitory computer-readable media of claim 19 storing instructionsthat, when executed by the computing platform, cause the computingplatform to: determine a first timestamp included in the firstaccount-change message, wherein the first timestamp indicates a time ofrequesting an account change from the first target account to the secondtarget account; determine a second timestamp indicating a time ofaccessing the target database by the first target account; and track thesource account associated with the first target account.